import java.io.*;
import java.util.*;

public class Personnage {

	String nom;
	String sexe;
	String origine;
	String metier;
	int niveau;
	int pointDestin;
	int richesse;
	int exp;
	int energieVitaleMax;
	int energieVitaleActuelle;
	int energieAstraleMax;
	int energieAstraleActuelle;
	int courage;
	int intel;
	int charisme;
	int ad;
	int force;
	int attaque;
	int parade;
	int pr;
	String note;

	public Personnage(String nom, String sexe, String origine, String metier,
			int niveau, int pointDestin, int richesse, int exp,
			int energieVitaleMax, int energieVitaleActuelle,
			int energieAstraleMax, int energieAstraleActuelle, int courage,
			int intel, int charisme, int ad, int force, int attaque,
			int parade, int pr, String note) {
		super();
		this.nom = nom;
		this.sexe = sexe;
		this.origine = origine;
		this.metier = metier;
		this.niveau = niveau;
		this.pointDestin = pointDestin;
		this.richesse = richesse;
		this.exp = exp;
		this.energieVitaleMax = energieVitaleMax;
		this.energieVitaleActuelle = energieVitaleActuelle;
		this.energieAstraleMax = energieAstraleMax;
		this.energieAstraleActuelle = energieAstraleActuelle;
		this.courage = courage;
		this.intel = intel;
		this.charisme = charisme;
		this.ad = ad;
		this.force = force;
		this.attaque = attaque;
		this.parade = parade;
		this.pr = pr;
		this.note = note;
	}

	public String getNom() {
		return nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	public String getSexe() {
		return sexe;
	}

	public void setSexe(String sexe) {
		this.sexe = sexe;
	}

	public String getOrigine() {
		return origine;
	}

	public void setOrigine(String origine) {
		this.origine = origine;
	}

	public String getMetier() {
		return metier;
	}

	public void setMetier(String metier) {
		this.metier = metier;
	}

	public int getNiveau() {
		return niveau;
	}

	public void setNiveau(int niveau) {
		this.niveau = niveau;
	}

	public int getPointDestin() {
		return pointDestin;
	}

	public void setPointDestin(int pointDestin) {
		this.pointDestin = pointDestin;
	}

	public int getRichesse() {
		return richesse;
	}

	public void setRichesse(int richesse) {
		this.richesse = richesse;
	}

	public int getExp() {
		return exp;
	}

	public void setExp(int exp) {
		this.exp = exp;
	}

	public int getEnergieVitaleMax() {
		return energieVitaleMax;
	}

	public void setEnergieVitaleMax(int energieVitaleMax) {
		this.energieVitaleMax = energieVitaleMax;
	}

	public int getEnergieVitaleActuelle() {
		return energieVitaleActuelle;
	}

	public void setEnergieVitaleActuelle(int energieVitaleActuelle) {
		this.energieVitaleActuelle = energieVitaleActuelle;
	}

	public int getEnergieAstraleMax() {
		return energieAstraleMax;
	}

	public void setEnergieAstraleMax(int energieAstraleMax) {
		this.energieAstraleMax = energieAstraleMax;
	}

	public int getEnergieAstraleActuelle() {
		return energieAstraleActuelle;
	}

	public void setEnergieAstraleActuelle(int energieAstraleActuelle) {
		this.energieAstraleActuelle = energieAstraleActuelle;
	}

	public int getCourage() {
		return courage;
	}

	public void setCourage(int courage) {
		this.courage = courage;
	}

	public int getIntel() {
		return intel;
	}

	public void setIntel(int intel) {
		this.intel = intel;
	}

	public int getCharisme() {
		return charisme;
	}

	public void setCharisme(int charisme) {
		this.charisme = charisme;
	}

	public int getAd() {
		return ad;
	}

	public void setAd(int ad) {
		this.ad = ad;
	}

	public int getForce() {
		return force;
	}

	public void setForce(int force) {
		this.force = force;
	}

	public int getAttaque() {
		return attaque;
	}

	public void setAttaque(int attaque) {
		this.attaque = attaque;
	}

	public int getParade() {
		return parade;
	}

	public void setParade(int parade) {
		this.parade = parade;
	}

	public int getPr() {
		return pr;
	}

	public void setPr(int pr) {
		this.pr = pr;
	}

	public String getNote() {
		return note;
	}

	public void setNote(String note) {
		this.note = note;
	}

	@Override
	public String toString() {
		return "Personnage [nom=" + nom + ", sexe=" + sexe + ", origine="
				+ origine + ", metier=" + metier + ", niveau=" + niveau
				+ ", pointDestin=" + pointDestin + ", richesse=" + richesse
				+ ", exp=" + exp + ", energieVitaleMax=" + energieVitaleMax
				+ ", energieVitaleActuelle=" + energieVitaleActuelle
				+ ", energieAstraleMax=" + energieAstraleMax
				+ ", energieAstraleActuelle=" + energieAstraleActuelle
				+ ", courage=" + courage + ", intel=" + intel + ", charisme="
				+ charisme + ", ad=" + ad + ", force=" + force + ", attaque="
				+ attaque + ", parade=" + parade + ", pr=" + pr + ", note="
				+ note + "]";
	}

	public static void main(String[] args) {
		ArrayList<Personnage> personnages = new ArrayList<Personnage>();
		
		try {
			// lecture du fichier
			InputStream flux = new FileInputStream("personnage.csv");
			InputStreamReader lecture = new InputStreamReader(flux);
			BufferedReader buff = new BufferedReader(lecture);

			String ligne;
			ligne = buff.readLine();

			while ((ligne = buff.readLine()) != null) {
				String[] tab = ligne.split("\t");
				personnages.add(new Personnage(tab[0], tab[1], tab[2], tab[3],
						Integer.parseInt(tab[4]), Integer.parseInt(tab[5]),
						Integer.parseInt(tab[6]), Integer.parseInt(tab[7]),
						Integer.parseInt(tab[8]), Integer.parseInt(tab[9]),
						Integer.parseInt(tab[10]), Integer.parseInt(tab[11]),
						Integer.parseInt(tab[12]), Integer.parseInt(tab[13]),
						Integer.parseInt(tab[14]), Integer.parseInt(tab[15]),
						Integer.parseInt(tab[16]), Integer.parseInt(tab[17]),
						Integer.parseInt(tab[18]), Integer.parseInt(tab[19]),
						tab[20]));
			}
			System.out.println(personnages.toString());
			buff.close();
		} catch (Exception e) {
			System.out.println(e.toString());
		}
	}
}
